changelogs for 1.5.6 - #3892
changelogs for 1.5.6#3892
Conversation
|
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Confidence Score: 5/5This PR touches only changelog and version files; no production code paths are changed. All 26 changed files are changelog entries and version number increments. There is nothing here that can introduce a runtime regression, data race, or behavior change. The only observations are a format inconsistency in transports/changelog.md and a missing issue reference in two changelog lines, neither of which affects correctness. No files require special attention — all changes are documentation and version metadata. Important Files Changed
Reviews (3): Last reviewed commit: "changelogs for 1.5.6" | Re-trigger Greptile |
7880ecb to
7cbfd9b
Compare
4867aaa to
95a6e81
Compare
95a6e81 to
80f858f
Compare
7cbfd9b to
9588db5
Compare
Merge activity
|
## Summary This PR releases **core v1.5.14**, **framework v1.3.14**, **transports v1.5.6**, and bumps all dependent plugins to their respective `.14` patch versions. It delivers a broad set of new capabilities across MCP authentication, key rotation, OTel metrics, Bedrock/Anthropic compatibility, and UI improvements, alongside a number of targeted bug fixes and refactors. ## Changes - **Direct API Key Header** — Providers can now receive an API key passed directly via a request header (maximhq#3817) - **MCP Per-User Auth** — Introduced `MCPCredentialStore` abstraction, per-user MCP credential reconciliation, and a new per-user header auth type with lazy-auth submission flow (maximhq#3656, maximhq#3702, maximhq#3703, maximhq#3704, maximhq#3705) - **MCP TLS Configuration** — Added configurable TLS (`insecureSkipVerify`, `caCertPem`) for HTTP/SSE MCP client connections (maximhq#3779, maximhq#3783) - **MCP Sessions Management** — Filter, search, and pagination on the MCP sessions list API and table, plus a `can_reauth` identity gate (maximhq#3823, maximhq#3824, maximhq#3825) - **Key Rotation** — Keys now rotate on 401/402/403 responses; returns `502 upstream_credentials_exhausted` when all keys are permanently exhausted. Added `triggered_rotation` to `KeyAttemptRecord` and tightened `bifrost_key_rotation_events_total` semantics (maximhq#3430, maximhq#3491) - **OTel Metrics** — Added OTel spec-compatible metrics (backward compatible) with provider cache and semantic cache attributes in metrics export (maximhq#3865, maximhq#3816) - **Opus 4.8 Support** — System message handling and general compatibility for Opus 4.8 (maximhq#3868, maximhq#3878) - **Dimension Rankings** — New `GetDimensionRankings` API and dashboard tabs for team, customer, BU, and user rankings (maximhq#3766) - **Model Pricing Attributes** — `additional_attributes` field on model pricing rows with management API and UI editor (maximhq#3829) - **Prompt Cache Retention** — Added prompt cache retention parameter on responses requests (maximhq#3810) - **Tool Call Execution UI** — Inline tool-call execution, stop streaming, bulk execute/submit, and a redesigned tool-call UI (maximhq#3837, maximhq#3843) - **Sheet Navigation** — Prev/next keyboard navigation and URL state across virtual key, MCP client, and routing rule sheets (maximhq#3739, maximhq#3740, maximhq#3744, maximhq#3745) - **Bedrock Tool Name Truncation** — Truncate Bedrock function/tool names to the provider length limit - **Bedrock Guardrails** — Set guardrail config in Bedrock requests built from responses (maximhq#3862) - **Anthropic Tool Use** — Default `tool_use` input to `{}` when arguments are absent (maximhq#3880) - **Responses Streaming** — Fixed responses stream events (maximhq#3838) - **Compat Flow** — Fixed missing parameter parsing on the compat flow (maximhq#3881) - **Passthrough API Version** — Set a default API version in passthrough requests as a fallback (maximhq#3853) - **Virtual Key Updates** — Avoid overriding optional fields during virtual key update (maximhq#3855) - **User-Mode Flows** — Gate user-mode flows on caller `user_id`, skip temp token mint, and unify flow/credential kind filtering for pending flows (maximhq#3841, maximhq#3859) - **Partial Tool Calls** — Handle partial tool call execution failures and return successful results (maximhq#3849) - **URL Query Escaping** — Support escaped characters in URL query parameters (maximhq#3826) - **MCP Auth Errors** — Inline banner and retry support for MCP auth-required errors (maximhq#3856) - **Renamed Resolvers** — `staticHeadersResolver`/`serverOAuthResolver` renamed to `sharedHeadersResolver`/`sharedOAuthResolver` (maximhq#3840) - **Starlark Nested Tool Calls** — Exposed `RunWithPluginPipeline` on `ClientManager` and routed Starlark nested tool calls through the canonical plugin gate (maximhq#3794) - **Deferred-Fill OAuth Removed** — Removed deferred-fill user-mode OAuth flow support (maximhq#3839) - **Go 1.26.3** — Upgraded toolchain to Go 1.26.3 (maximhq#3782) ## Type of change - [x] Bug fix - [x] Feature - [x] Refactor - [ ] Documentation - [x] Chore/CI ## Affected areas - [x] Core (Go) - [x] Transports (HTTP) - [x] Providers/Integrations - [x] Plugins - [x] UI (React) - [ ] Docs ## How to test ```sh # Core/Transports go version # should report go1.26.3 go test ./... # UI cd ui pnpm i || npm i pnpm test || npm test pnpm build || npm run build ``` - Validate MCP per-user auth by configuring a per-user header auth type and confirming credentials are stored and reconciled on virtual key and MCP client changes. - Validate key rotation by triggering a 401/402/403 from an upstream provider and confirming rotation occurs; exhaust all keys and confirm a `502 upstream_credentials_exhausted` is returned. - Validate OTel metrics output includes `provider_cache` and `semantic_cache` attributes. - Validate Bedrock requests with tool names exceeding the provider limit are truncated correctly. - Validate Opus 4.8 system message handling by sending a request with a system message to an Opus 4.8 endpoint. ## Breaking changes - [x] Yes - [ ] No The deferred-fill user-mode OAuth flow has been removed (maximhq#3839). Any integrations relying on that flow must migrate to the new per-user credential store approach. The `staticHeadersResolver` and `serverOAuthResolver` identifiers have been renamed to `sharedHeadersResolver` and `sharedOAuthResolver` respectively (maximhq#3840); any direct references must be updated. ## Related issues maximhq#3817, maximhq#3656, maximhq#3702, maximhq#3703, maximhq#3704, maximhq#3705, maximhq#3779, maximhq#3783, maximhq#3823, maximhq#3824, maximhq#3825, maximhq#3430, maximhq#3491, maximhq#3865, maximhq#3816, maximhq#3868, maximhq#3878, maximhq#3766, maximhq#3829, maximhq#3810, maximhq#3837, maximhq#3843, maximhq#3739, maximhq#3740, maximhq#3744, maximhq#3745, maximhq#3862, maximhq#3880, maximhq#3838, maximhq#3881, maximhq#3853, maximhq#3855, maximhq#3841, maximhq#3859, maximhq#3849, maximhq#3826, maximhq#3856, maximhq#3840, maximhq#3794, maximhq#3839, maximhq#3782, maximhq#3724, maximhq#3814, maximhq#3836, maximhq#3869, maximhq#3886 ## Security considerations - MCP per-user credentials are stored via the new `MCPCredentialStore` abstraction; ensure the backing store is appropriately access-controlled and that credential values are encrypted at rest. - The direct API key header feature passes provider secrets via HTTP headers; ensure TLS is enforced on all ingress paths and that headers are not logged in plaintext. - User-mode flows are now gated on `caller user_id` and temp token minting is skipped where appropriate, reducing the surface for privilege escalation. - TLS configuration for MCP HTTP/SSE connections supports `insecureSkipVerify`; this should only be enabled in controlled environments. ## Checklist - [x] I read `docs/contributing/README.md` and followed the guidelines - [x] I added/updated tests where appropriate - [x] I updated documentation where needed - [x] I verified builds succeed (Go and UI) - [x] I verified the CI pipeline passes locally if applicable
## Summary This PR releases **core v1.5.14**, **framework v1.3.14**, **transports v1.5.6**, and bumps all dependent plugins to their respective `.14` patch versions. It delivers a broad set of new capabilities across MCP authentication, key rotation, OTel metrics, Bedrock/Anthropic compatibility, and UI improvements, alongside a number of targeted bug fixes and refactors. ## Changes - **Direct API Key Header** — Providers can now receive an API key passed directly via a request header (maximhq#3817) - **MCP Per-User Auth** — Introduced `MCPCredentialStore` abstraction, per-user MCP credential reconciliation, and a new per-user header auth type with lazy-auth submission flow (maximhq#3656, maximhq#3702, maximhq#3703, maximhq#3704, maximhq#3705) - **MCP TLS Configuration** — Added configurable TLS (`insecureSkipVerify`, `caCertPem`) for HTTP/SSE MCP client connections (maximhq#3779, maximhq#3783) - **MCP Sessions Management** — Filter, search, and pagination on the MCP sessions list API and table, plus a `can_reauth` identity gate (maximhq#3823, maximhq#3824, maximhq#3825) - **Key Rotation** — Keys now rotate on 401/402/403 responses; returns `502 upstream_credentials_exhausted` when all keys are permanently exhausted. Added `triggered_rotation` to `KeyAttemptRecord` and tightened `bifrost_key_rotation_events_total` semantics (maximhq#3430, maximhq#3491) - **OTel Metrics** — Added OTel spec-compatible metrics (backward compatible) with provider cache and semantic cache attributes in metrics export (maximhq#3865, maximhq#3816) - **Opus 4.8 Support** — System message handling and general compatibility for Opus 4.8 (maximhq#3868, maximhq#3878) - **Dimension Rankings** — New `GetDimensionRankings` API and dashboard tabs for team, customer, BU, and user rankings (maximhq#3766) - **Model Pricing Attributes** — `additional_attributes` field on model pricing rows with management API and UI editor (maximhq#3829) - **Prompt Cache Retention** — Added prompt cache retention parameter on responses requests (maximhq#3810) - **Tool Call Execution UI** — Inline tool-call execution, stop streaming, bulk execute/submit, and a redesigned tool-call UI (maximhq#3837, maximhq#3843) - **Sheet Navigation** — Prev/next keyboard navigation and URL state across virtual key, MCP client, and routing rule sheets (maximhq#3739, maximhq#3740, maximhq#3744, maximhq#3745) - **Bedrock Tool Name Truncation** — Truncate Bedrock function/tool names to the provider length limit - **Bedrock Guardrails** — Set guardrail config in Bedrock requests built from responses (maximhq#3862) - **Anthropic Tool Use** — Default `tool_use` input to `{}` when arguments are absent (maximhq#3880) - **Responses Streaming** — Fixed responses stream events (maximhq#3838) - **Compat Flow** — Fixed missing parameter parsing on the compat flow (maximhq#3881) - **Passthrough API Version** — Set a default API version in passthrough requests as a fallback (maximhq#3853) - **Virtual Key Updates** — Avoid overriding optional fields during virtual key update (maximhq#3855) - **User-Mode Flows** — Gate user-mode flows on caller `user_id`, skip temp token mint, and unify flow/credential kind filtering for pending flows (maximhq#3841, maximhq#3859) - **Partial Tool Calls** — Handle partial tool call execution failures and return successful results (maximhq#3849) - **URL Query Escaping** — Support escaped characters in URL query parameters (maximhq#3826) - **MCP Auth Errors** — Inline banner and retry support for MCP auth-required errors (maximhq#3856) - **Renamed Resolvers** — `staticHeadersResolver`/`serverOAuthResolver` renamed to `sharedHeadersResolver`/`sharedOAuthResolver` (maximhq#3840) - **Starlark Nested Tool Calls** — Exposed `RunWithPluginPipeline` on `ClientManager` and routed Starlark nested tool calls through the canonical plugin gate (maximhq#3794) - **Deferred-Fill OAuth Removed** — Removed deferred-fill user-mode OAuth flow support (maximhq#3839) - **Go 1.26.3** — Upgraded toolchain to Go 1.26.3 (maximhq#3782) ## Type of change - [x] Bug fix - [x] Feature - [x] Refactor - [ ] Documentation - [x] Chore/CI ## Affected areas - [x] Core (Go) - [x] Transports (HTTP) - [x] Providers/Integrations - [x] Plugins - [x] UI (React) - [ ] Docs ## How to test ```sh # Core/Transports go version # should report go1.26.3 go test ./... # UI cd ui pnpm i || npm i pnpm test || npm test pnpm build || npm run build ``` - Validate MCP per-user auth by configuring a per-user header auth type and confirming credentials are stored and reconciled on virtual key and MCP client changes. - Validate key rotation by triggering a 401/402/403 from an upstream provider and confirming rotation occurs; exhaust all keys and confirm a `502 upstream_credentials_exhausted` is returned. - Validate OTel metrics output includes `provider_cache` and `semantic_cache` attributes. - Validate Bedrock requests with tool names exceeding the provider limit are truncated correctly. - Validate Opus 4.8 system message handling by sending a request with a system message to an Opus 4.8 endpoint. ## Breaking changes - [x] Yes - [ ] No The deferred-fill user-mode OAuth flow has been removed (maximhq#3839). Any integrations relying on that flow must migrate to the new per-user credential store approach. The `staticHeadersResolver` and `serverOAuthResolver` identifiers have been renamed to `sharedHeadersResolver` and `sharedOAuthResolver` respectively (maximhq#3840); any direct references must be updated. ## Related issues maximhq#3817, maximhq#3656, maximhq#3702, maximhq#3703, maximhq#3704, maximhq#3705, maximhq#3779, maximhq#3783, maximhq#3823, maximhq#3824, maximhq#3825, maximhq#3430, maximhq#3491, maximhq#3865, maximhq#3816, maximhq#3868, maximhq#3878, maximhq#3766, maximhq#3829, maximhq#3810, maximhq#3837, maximhq#3843, maximhq#3739, maximhq#3740, maximhq#3744, maximhq#3745, maximhq#3862, maximhq#3880, maximhq#3838, maximhq#3881, maximhq#3853, maximhq#3855, maximhq#3841, maximhq#3859, maximhq#3849, maximhq#3826, maximhq#3856, maximhq#3840, maximhq#3794, maximhq#3839, maximhq#3782, maximhq#3724, maximhq#3814, maximhq#3836, maximhq#3869, maximhq#3886 ## Security considerations - MCP per-user credentials are stored via the new `MCPCredentialStore` abstraction; ensure the backing store is appropriately access-controlled and that credential values are encrypted at rest. - The direct API key header feature passes provider secrets via HTTP headers; ensure TLS is enforced on all ingress paths and that headers are not logged in plaintext. - User-mode flows are now gated on `caller user_id` and temp token minting is skipped where appropriate, reducing the surface for privilege escalation. - TLS configuration for MCP HTTP/SSE connections supports `insecureSkipVerify`; this should only be enabled in controlled environments. ## Checklist - [x] I read `docs/contributing/README.md` and followed the guidelines - [x] I added/updated tests where appropriate - [x] I updated documentation where needed - [x] I verified builds succeed (Go and UI) - [x] I verified the CI pipeline passes locally if applicable

Summary
This PR releases core v1.5.14, framework v1.3.14, transports v1.5.6, and bumps all dependent plugins to their respective
.14patch versions. It delivers a broad set of new capabilities across MCP authentication, key rotation, OTel metrics, Bedrock/Anthropic compatibility, and UI improvements, alongside a number of targeted bug fixes and refactors.Changes
MCPCredentialStoreabstraction, per-user MCP credential reconciliation, and a new per-user header auth type with lazy-auth submission flow (refactor: introduceMCPCredentialStoreabstraction in MCP credential resolution #3656, refactor: centralize mcp connection lifecycle intoAcquireClientConnand decouple credentials from plugin gate #3702, feat: add mcp per-user headers auth type with credential storage and submission flow #3703, feat: add mcp per-user headers auth flow ui wiring #3704, feat: reconcile per-user MCP credentials on VK and MCP client changes #3705)insecureSkipVerify,caCertPem) for HTTP/SSE MCP client connections (feat: add TLS configuration support for MCP HTTP/SSE client connections #3779, feat: addtlsConfig(insecureSkipVerify, caCertPem) for HTTP/SSE MCP client connections in Bifrost Helm chart #3783)can_reauthidentity gate (feat: addcan_reauthidentity gate for user-mode MCP session rows #3823, feat: add filter/search/pagination to MCP sessions list API #3824, feat: add filtering and pagination to MCP sessions table #3825)502 upstream_credentials_exhaustedwhen all keys are permanently exhausted. Addedtriggered_rotationtoKeyAttemptRecordand tightenedbifrost_key_rotation_events_totalsemantics (feat: addtriggered_rotationtoKeyAttemptRecordand tightenbifrost_key_rotation_events_totalsemantics #3430, feat: rotate keys on 401/402/403 and return502 upstream_credentials_exhaustedwhen all keys are permanently dead #3491)GetDimensionRankingsAPI and dashboard tabs for team, customer, BU, and user rankings (feat: addGetDimensionRankingsAPI and dashboard tabs for team, customer, BU, and user rankings #3766)additional_attributesfield on model pricing rows with management API and UI editor (feat: addadditional_attributesto model pricing rows with management API and UI editor #3829)useSheetNavigationhook andSheetNavigationButtonscomponent #3739, feat: add keyboard navigation and URL state for virtual key detail sheet #3740, feat: add prev/next navigation toMCPClientSheet#3744, feat: add prev/next navigation toRoutingRuleInfoSheet#3745)tool_useinput to{}when arguments are absent (fix: default Anthropic tool_use input to{}when arguments are absent #3880)user_id, skip temp token mint, and unify flow/credential kind filtering for pending flows (fix: gate user-mode flows on caller user_id and skip temp token mint #3841, fix: unify flow/credential kind filtering so pending flows follow their auth kind #3859)staticHeadersResolver/serverOAuthResolverrenamed tosharedHeadersResolver/sharedOAuthResolver(refactor: renamestaticHeadersResolver/serverOAuthResolvertosharedHeadersResolver/sharedOAuthResolver#3840)RunWithPluginPipelineonClientManagerand routed Starlark nested tool calls through the canonical plugin gate (refactor: exposeRunWithPluginPipelineonClientManagerand route Starlark nested tool calls through canonical plugin gate #3794)Type of change
Affected areas
How to test
502 upstream_credentials_exhaustedis returned.provider_cacheandsemantic_cacheattributes.Breaking changes
The deferred-fill user-mode OAuth flow has been removed (#3839). Any integrations relying on that flow must migrate to the new per-user credential store approach. The
staticHeadersResolverandserverOAuthResolveridentifiers have been renamed tosharedHeadersResolverandsharedOAuthResolverrespectively (#3840); any direct references must be updated.Related issues
#3817, #3656, #3702, #3703, #3704, #3705, #3779, #3783, #3823, #3824, #3825, #3430, #3491, #3865, #3816, #3868, #3878, #3766, #3829, #3810, #3837, #3843, #3739, #3740, #3744, #3745, #3862, #3880, #3838, #3881, #3853, #3855, #3841, #3859, #3849, #3826, #3856, #3840, #3794, #3839, #3782, #3724, #3814, #3836, #3869, #3886
Security considerations
MCPCredentialStoreabstraction; ensure the backing store is appropriately access-controlled and that credential values are encrypted at rest.caller user_idand temp token minting is skipped where appropriate, reducing the surface for privilege escalation.insecureSkipVerify; this should only be enabled in controlled environments.Checklist
docs/contributing/README.mdand followed the guidelines